Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006 2005 2004 2003 2002
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour Brest Challenger Hamburg Challenger Bergamo Challenger Valencia Challenger Danderyd Challenger Chennai Challenger M15 Torello Manama Challenger M25 Trento M15 Les Franqueses del Valles Murcia Challenger Ostrava Challenger Naples Challenger Barletta Challenger Lyon Challenger Tunis Challenger Heilbronn Challenger Prague Challenger Verona Challenger Salzburg Challenger Como Challenger Rennes Challenger St. Tropez Challenger Mouilleron-Le-Captif Challenger European Open - Antwerp Seoul Challenger Matsuyama Challenger Kobe Challenger BNP Paribas Open - Indian Wells Yokohama Challenger Oeiras 3 Challenger Phoenix Challenger Prague Challenger Dubai Duty Free Tennis Championships - Dubai Manama Challenger Open Occitanie - Montpellier Australian Open - Melbourne Mauthausen Challenger Miami Open - Miami Plava Laguna Croatia Open - Umag Sumter Challenger Tiriac Open - Bucharest Bordeaux Challenger Madrid Challenger French Open - Paris Boss Open - Stuttgart Cincinnati Open - Cincinnati Terra Wortmann Open - Halle Wimbledon - London EFG Swiss Open - Gstaad U.S. Open - New York Shanghai Rolex Masters - Shanghai Guangzhou Challenger Jingshan Challenger Chengdu Open - Chengdu Iran F4 France F3 Austria F3 Spain F3 Algeria F2 Algeria F3 South Africa F1 Tunisia F6 Morocco F2 Morocco F3 Morocco F4 Algeria F2 Spain F2 Spain F4 Morocco F1 Morocco F2 France F7 USA F23 USA F24 Morocco F6 Morocco F7 USA F27 Morocco F1 Morocco F2 Croatia F1 Croatia F2 USA F6 Uzbekistan F1 Uzbekistan F2 Usa F13 Usa F14 Usa F16 Usa F17 Russia F4 Russia F3 Russia F5 Russia F6 USA F22 Usa F23 USA F24 Dominican Republic F2 Dominican Republic F3 Morocco F1 Morocco F2 Usa F5 Usa F6 Usa F7 Turkey F3 Turkey F4 Usa F13 Usa F14 Usa F15 USA F20 USA F21 USA F23 Morocco F7 USA F24 USA F25 Thailand F4 Thailand F5 USA F5 USA F6 USA F7 USA F8 Spain F13 Mexico F2 Mexico F3 USA F13 USA F14 Armenia F1 Armenia F2 Russia F4 Russia F5 Russia F6 Spain F35 Spain F36 Morocco F8 Morocco F9 Spain F39 Spain F41 Turkey F33 Turkey F34 Turkey F35 France F1 Uzbekistan F1 Uzbekistan F2 Spain F12 Morocco F1 Morocco F2 Morocco F3 Russia F8 Russia F9 Armenia F2 France F13 Russia F10 Russia F11 Russia F12 Georgia F1 Georgia F2 Spain F29 Morocco F6 Morocco F7 Morocco F10 Turkey F47 Turkey F48 Turkey F49 Spain F2 Spain F3 Spain F4 Spain F7 Spain F8 Russia F7 Russia F8 Morocco F1 Morocco F2 Morocco F3 Turkey F25 Turkey F26 Italy F18 Italy F21 Morocco F4 Morocco F5 Spain F35 Spain F36 Turkey F44 Turkey F45 Turkey F46 Qatar F3 Qatar F4 Qatar F5 Germany F3 Germany F4 Spain F5 Croatia F4 Turkey F8 Croatia F5 Turkey F9 Morocco F3 Belgium F12 Morocco F4 Morocco F5 Morocco F6 Qatar F4 Qatar F5 Qatar F6 Spain F1 Portugal F3 Morocco F1 Morocco F2 Morocco F3 Spain F30 Morocco F1 Morocco F2 Morocco F3 Spain F14 Spain F15 Spain F16 France F10 France F11 France F12 France F13 Morocco F7 Morocco F8 Morocco F9 Tunisia F11 (Hammamet) Tunisia F12 (Hammamet) Tunisia F13 (Hammamet) Tunisia F14 (Hammamet) Tunisia F15 (Hammamet) Tunisia F16 (Hammamet) Tunisia F17 (Hammamet) Tunisia F18 (Hammamet) Spain F16 (Huelva) Spain F18 (Palma del Rio) Morocco F4 (Casablanca) Morocco F5 (Beni Mellal) Morocco F6 (Agadir) Tunisia F2 (Hammamet) Tunisia F3 (Hammamet) Spain F4 Portugal F3 (Loule) Portugal F4 (Quinta Do Lago) France F6 (Villers Les Nancy) Morocco F1 (Khemisset) Morocco F2 (Meknes) Morocco F3 (Tanger) Spain F27 (Seville) Spain F28 (Madrid) Spain F29 (Sabadell) M15 Vale Do Lobo M15 Faro M15 Loule M15 Portimao M25 Vic M25+H Arlon Dominican Republic F1 Italy F4 Morocco F1 Morocco F2 Portugal F2 France F5 Greece F2 Italy F2 Spain F5 Uzbekistan F3 Morocco F3 Morocco F4 Morocco F5 France F10 Tunisia F2 France F8 France F9 Spain F20 Spain F21 Spain F30 Spain F20 Iran F3 M25 Bourg-En-Bresse Algeria F1 M15 Tanger M15 Agadir Tunisia F5 M15 Sabadell M25 Riba - Roja de Turia Morocco F5 M15 Valldoreix South Africa F2 M15 Villena M15 Torello Morocco F1 M15 Girona M15 Madrid M25 Antalya M25 Antalya M15 Marrakech M15 Benicarlo Germany F4 IX Open Internacional D'Andorra - Andorra M15 Paguera Armenia F1 Open Castilla y Leon - Segovia Arroyo de la Encomienda - Valladolid Open Castilla y Leon - Segovia Kish Free Zone Island Challenger - Kish Island ATP Open Castilla y Leon - Segovia Open de Tenis Amaya - Pamplona XI Ciutat de Barcelona - Barcelona Qatar ATP Challenger - Doha Tunis Open 2006 - Tunis Astana Challenger ECM Prague Open - Prague 5° Sporting Challenger - Turin Schickendanz Open - Furth Open de Montauban - Montauban Porsche Open - Poznan Open Castilla y Leon - Segovia GHI Bronx Tennis Classic - Bronx Challenger Copa Sevilla - Seville Open Costa Daurada - Tarragona Ciutat de Barcelona - Barcelona Copa Petrobras Uruguray - Montevideo Copa Petrobras Brazil - Aracaju Copa Petrobras Argentina - Buenos Aires South African Airways Tennis Open - Durban KGHM Dialog Polish Indoors - Wroclaw Internationaux de Doubs Open de Franchie-Comte - Besancon Morocco Tennis Tour - Casablanca Morocco Tennis Tour - Marrakech Tunis Open 2007 - Tunis Baden Open - Karlsruhe Memorial Manfredini - Sassuolo M15 Madrid M25 Madrid Arpa Ceramic Cup - Reggio Emilia Open de Montauban - Montauban LXVII Concursu Internacional de Vigo - Vigo Citta di Como - Como Genova Open Challenger - Genova Copa Sevilla 2007 - Seville Posillipo Tennis Cup - Napoli Open Costa Daurada - Tarragona Challenger 42 - Andrezieux M25 Zaragoza Challenger Tunisie - Tunis South African Airways Open - East London Zenith Tennis Cup-Harbour Club - Milan 14° Torneo B. Camparini- Lines Trophy - Reggio Emilia Sporting Challenger '08-Trofeo Regione Piemonte - Turin San Marino CEPU Open - San Marino LXVII Concurso Internacional de Tenis Cidade de Vigo - Vigo Tennislife Cup - Napoli Open Tarragona Costa Daurada - Tarragona President's Cup - Astana Dallas Challenger Meknes Challenger Rabat Challenger Marrakech Challenger Barletta Challenger Tunis Challenger Izmir Challenger Fergana Challenger Lugano Challenger Pozoblanco Challenger Penza Challenger Orbetello Challenger Saransk Challenger San Sebastian Challenger Szczecin Challenger Napoli Challenger Sacramento Challenger Tarragona Challenger Tiburon Challenger Honolulu Challenger Dallas Challenger Tanger Challenger Meknes Challenger Rabat Challenger Marrakech Challenger Rome Challenger Rome Challenger Tunis Challenger Sarasota Challenger Carson Challenger Aptos Challenger Mexico F4 Tiburon Challenger Calabasas Challenger Meknes Challenger Casablanca Challenger Rabat Challenger Marrakech Challenger Meknes Challenger Casablanca Challenger Rabat Challenger Marrakech Challenger Tunis Challenger Fergana Challenger Furth Challenger Madrid Challenger Lermontov Challenger Tashkent Challenger Eckental Challenger Tyumen Challenger Heilbronn Challenger Bergamo Challenger Cherbourg Challenger San Luis Potosi Challenger Leon Challenger Panama City Challenger Savannah Challenger Tunis Challenger Tallahassee Challenger Tanger Challenger Istanbul Challenger Eskisehir Challenger Recanati Challenger Astana Challenger Istanbul Challenger Izmir Challenger Kenitra Challenger Rennes Challenger Casablanca Challenger Quimper Challenger Astana Challenger Cherbourg Challenger Mersin Challenger Tunis Challenger Rome Challenger Bordeaux Challenger Samarkand Challenger Karshi Challenger Fergana Challenger Marburg Challenger Scheveningen Challenger Recanati Challenger Oberstaufen Challenger Cortina Challenger San Marino Challenger Szczecin Challenger Sibiu Challenger Kenitra Challenger Eckental Challenger Ortisei Challenger Andria Challenger Casablanca Challenger Raanana Challenger Napoli Challenger Mersin Challenger Morocco F9 Scheveningen Challenger Biella Challenger Genova Challenger Seville Challenger Mohammedia Challenger Casablanca Challenger Andria Challenger Canberra Challenger Bergamo Challenger Zhuhai Challenger Guangzhou Challenger Sarasota Challenger Savannah Challenger Tallahassee Challenger Heilbronn Challenger Marburg Challenger Kenitra Challenger Mouilleron-Le-Captif Challenger M25 Sunderland Roanne Challenger Cagliari Challenger Ottignies-Louvain-la-Neuve Challenger Tenerife 3 Challenger Skopje Challenger Milan Challenger Qatar ExxonMobil Open - Doha Grand Prix Hassan II - Casablanca Gerry Weber Open - Halle Open 13 - Marseille Grand Prix Hassan II - Casablanca Grand Prix Hassan II - Casablanca Qatar ExxonMobil Open - Doha Grand Prix Hassan II - Casablanca Open Sabadell Atlantico - Barcelona BMW Open - Munich Catella Swedish Open - Bastad Grand Prix de Tennis de Lyon - Lyon SAP Open - San Jose Grand Prix Hassan II - Casablanca Grand Prix Hassan II - Casablanca Kremlin Cup - Moscow Grand Prix Hassan II - Casablanca Open Sud de France - Montpellier Open 13 - Marseille Grand Prix Hassan II - Casablanca BRD Nastase Tiriac Trophy - Bucharest BMW Open - Munich Kremlin Cup - Moscow Qatar ExxonMobil Open - Doha Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Open 13 - Marseille Dubai Duty Free Tennis Championships - Dubai Grand Prix Hassan II - Casablanca TEB BNP Paribas Istanbul Open - Istanbul Mercedes Cup - Stuttgart Malaysian Open - Kuala Lumpur Rakuten Japan Open - Tokyo Erste Bank Open - Vienna Swiss Indoors Basel - Basel Open Sud de France - Montpellier Dubai Duty Free Tennis Championships - Dubai Grand Prix Hassan II - Marrakech Mercedes Cup - Stuttgart Gerry Weber Open - Halle Generali Open - Kitzbuhel Moselle Open - Metz Shenzhen Open - Shenzhen China Open - Beijing European Open - Antwerp Erste Bank Open - Vienna Qatar ExxonMobil Open - Doha Apia International - Sydney Garanti Koza Sofia Open - Sofia Memphis Open - Memphis Delray Beach Open - Delray Beach Barcelona Open BancSabadell - Barcelona TEB BNP Paribas Istanbul Open - Istanbul Open Parc - Lyon Mercedes Cup - Stuttgart AEGON Championships - London Antalya Cup - Antalya SkiStar Swedish Open - Bastad Bet-at-home Open - Hamburg Generali Open - Kitzbuhel Moselle Open - Metz China Open - Beijing European Open - Antwerp Erste Bank Open - Vienna Chengdu Open - Chengdu Qatar ExxonMobil Open - Doha New York Open - New York Delray Beach Open - Delray Beach Abierto Mexicano Telcel - Acapulco Grand Prix Hassan II - Marrakech Gazprom Hungarian Open - Budapest TEB BNP Paribas Istanbul Open - Istanbul Ricoh Open - 's-Hertogenbosch Gerry Weber Open - Halle Antalya Cup - Antalya Plava Laguna Croatia Open - Umag German Tennis Championships - Hamburg Generali Open - Kitzbuhel Winston-Salem Open - Winston-Salem Moselle Open - Metz Chengdu Open - Chengdu China Open - Beijing Erste Bank Open - Vienna Qatar ExxonMobil Open - Doha DIEMA XTRA Sofia Open - Sofia ABN AMRO World Tennis Tournament - Rotterdam Dubai Duty Free Tennis Championships - Dubai Grand Prix Hassan II - Marrakech Gazprom Hungarian Open - Budapest Open Parc - Lyon Mercedes Cup - Stuttgart Noventi Open - Halle German Tennis Championships - Hamburg Moselle Open - Metz China Open - Beijing Erste Bank Open - Vienna ABN AMRO World Tennis Tournament - Rotterdam Dubai Duty Free Tennis Championships - Dubai Generali Open - Kitzbuhel Hamburg European Open - Hamburg Sofia Open - Sofia Antalya Open - Antalya Great Ocean Road Open - Melbourne Open Sud de France - Montpellier Qatar ExxonMobil Open - Doha Barcelona Open Banc Sabadell - Barcelona BMW Open - Munich Mercedes Cup - Stuttgart Noventi Open - Halle Hamburg European Open - Hamburg Moselle Open - Metz Erste Bank Open - Vienna Sardegna Open - Cagliari Belgrade 2 - Belgrade San Diego Open - San Diego Sydney Tennis Classic - Sydney Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Qatar ExxonMobil Open - Doha Dubai Duty Free Tennis Championships - Dubai Grand Prix Hassan II - Marrakech Barcelona Open Banc Sabadell - Barcelona BMW Open - Munich Gonet Geneva Open - Geneva Mercedes Cup - Stuttgart Noventi Open - Halle Nordea Open - Bastad Hamburg European Open - Hamburg Winston-Salem Open - Winston-Salem Moselle Open - Metz Erste Bank Open - Vienna Tata Open Maharashtra - Pune Adelaide International 2 - Adelaide Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Qatar ExxonMobil Open - Doha Dubai Duty Free Tennis Championships - Dubai Arroyo de la Encomienda - Valladolid Arroyo de la Encomienda - Valladolid Porsche Open - Poznan Morocco Tennis Tour - Meknes Morocco Tennis Tour - Tanger Siemens Open - Scheveningen Riviera de Rimini Challenger - Rimini Genova Open Challenger - Genova Sacramento Challenger - Sacramento Tanger Challenger Napoli Challenger Braunschweig Challenger Segovia Challenger Trnava Challenger Genova Challenger Savannah Challenger Ojai Challenger Barranquilla Challenger Kazan Challenger Genova Challenger Brescia Challenger Bordeaux Challenger Vicenza Challenger Kenitra Challenger Roanne Challenger Shenzhen Challenger Braunschweig Challenger Prague Challenger Szczecin Challenger Mohammedia Challenger Casablanca Challenger Irving Challenger Brasov Challenger Prostejov Challenger Lisbon Challenger XXXVII Torneig C.E. Laieta - Barcelona Tunis Challenger Mutua Madrilena Masters Madrid - Madrid BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Rogers Cup - Montreal Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Coupe Rogers - Montreal Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris Internazionali BNL d'Italia - Rome Western & Southern Open - New York Rolex Paris Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Western & Southern Open - Cincinnati Rolex Paris Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Western & Southern Open - Cincinnati Rolex Paris Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Internazionali BNL d'Italia - Rome Wimbledon - London U.S. Open - New York French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York French Open - Paris Davis Cup, Group 2, 2R, POL-ALG 4-1 Davis Cup, Group 2, 2R, POR-ALG 3-2 Davis Cup, Group 2, 1R, ALG-SLO 2-3 Meknes Challenger Davis Cup, Group 2, PO, NOR-ALG 1-4 Davis Cup, Group 2, 2R, ALG-HUN 3-2 Davis Cup, Group II, PO, MAR-CYP 4-1 Davis Cup, Group II, 1R, POR-MAR 4-1 Davis Cup, Group II, PO, MON-MAR 3-1 Davis Cup, Group II, 1R, GEO-DEN 0-5 Davis Cup, Group II, PO, GEO-ZIM 3-2 Davis Cup, Group II, 1R, GEO-FIN 3-2 Davis Cup, Group II, 2R, GEO-LTU 2-3 Davis Cup, Group II, 1R, MAR-GEO 3-1 Davis Cup, Group II, 2R, ROU-MAR 5-0 Davis Cup, Group II, 1R, MAR-LTU 2-3 ATP Cup - Brisbane, Perth, Sydney Davis Cup, World Group II, PO, GEO-EST 1-4 Davis Cup, World Group II, PO, MAR-VIE 4-0 ATP Cup - Sydney Trieste Challenger All Lower level tournaments Mallorca Championships - Mallorca Erste Bank Open - Vienna ABN AMRO World Tennis Tournament - Rotterdam Dubai Duty Free Tennis Championships - Dubai Olympics - Athens Olympics - Tokyo Barcelona Open Banc Sabadell - Barcelona Grand Prix Hassan II - Casablanca Maia Challenger San Marino Challenger Sofia Open - Sofia Australian Open - Melbourne Olympics - Rio de Janeiro M25 Esch/Alzette